package org.practice.surveymaster.constant;

/**
 * <p>
 * 数据脱敏类型枚举类
 * </p>
 *
 * <p>
 * 定义了系统支持的各种数据脱敏类型，每种类型对应不同的脱敏策略和规则。
 * 支持常见的敏感数据类型，如手机号、姓名、邮箱、密码等。
 * </p>
 *
 * @author ljn
 * @since 2025/9/22 下午2:13
 */
public enum SensitiveType {
    /** 手机号脱敏：保留前3位和后4位，中间用*替换 */
    MOBILE,
    
    /** 姓名脱敏：保留姓氏，名字用*替换 */
    NAME,
    
    /** 邮箱脱敏：保留前3位和@后的域名，用户名部分用*替换 */
    EMAIL,
    
    /** 密码脱敏：完全用*替换 */
    PASSWORD,
    
    /** 身份证号脱敏：保留前4位和后4位，中间用*替换 */
    ID_CARD,
    
    /** 银行卡号脱敏：保留前4位和后4位，中间用*替换 */
    BANK_CARD,
    
    /** 地址脱敏：保留省市，详细地址用*替换 */
    ADDRESS,
    
    /** 车牌号脱敏：保留前2位和后1位，中间用*替换 */
    CAR_LICENSE,
    
    /** 固定电话脱敏：保留区号和后4位，中间用*替换 */
    FIXED_PHONE,
    
    /** 自定义脱敏：根据配置进行脱敏 */
    CUSTOM
}
